/**
 * <strong>Title : EquipmentCycleTimeDao.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.em.dao<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2015年11月18日 上午9:41:55<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.em.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.em.model.Equipment;
import cn.b.sky.mes.em.model.EquipmentCycleTime;
import cn.b.sky.mes.em.model.condition.EquipmentCondition;
import cn.b.sky.mes.em.model.condition.EquipmentCycleTimeCondition;

/**
 * <strong>Title : EquipmentCycleTimeDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.em.dao<br></strong>
 * <strong>Description : </strong>设备周期时间持久层<br> 
 * <strong>Create on : 2015年11月18日 上午9:41:55<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br> 
 */
public interface EquipmentCycleTimeDao {

  /**
   * <strong>Title : selectEquipmentCycleTimeListByCondition<br></strong>
   * <strong>Description : </strong>条件查询设备周期时间list<br> 
   * <strong>Create on : 2015年11月18日 上午9:48:02<br></strong>
   * <p>
   * @param condition
   * @return
   * List<EquipmentCycleTime>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<EquipmentCycleTime> selectEquipmentCycleTimeListByCondition(EquipmentCycleTimeCondition condition);

  /**
   * <strong>Title : selectEquipmentCycleTimeCountByCondition<br></strong>
   * <strong>Description : </strong>条件查询设备周期时间总数<br> 
   * <strong>Create on : 2015年11月18日 上午9:48:09<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectEquipmentCycleTimeCountByCondition(EquipmentCycleTimeCondition condition);

  /**
   * <strong>Title : insertEquipmentCycleTime<br></strong>
   * <strong>Description : </strong>新增设备周期时间<br> 
   * <strong>Create on : 2015年11月18日 上午9:48:13<br></strong>
   * <p>
   * @param time
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertEquipmentCycleTime(EquipmentCycleTime time);

  /**
   * <strong>Title : updateEquipmentCycleTime<br></strong>
   * <strong>Description : </strong>更新设备周期时间<br> 
   * <strong>Create on : 2015年11月18日 上午9:48:17<br></strong>
   * <p>
   * @param time
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateEquipmentCycleTime(EquipmentCycleTime time);

  /**
   * <strong>Title : deleteEquipmentCycleTime<br></strong>
   * <strong>Description : </strong>删除设备周期时间<br> 
   * <strong>Create on : 2015年11月18日 上午9:48:21<br></strong>
   * <p>
   * @param equipmentCode
   * @param siteCode
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteEquipmentCycleTime(@Param("equipmentCode") String equipmentCode, @Param("siteCode") String siteCode);

  /**
   * <strong>Title : getEquipmentCycleTime<br></strong>
   * <strong>Description : </strong>获得设备周期时间实体<br> 
   * <strong>Create on : 2015年11月18日 上午9:48:30<br></strong>
   * <p>
   * @param equipmentCode
   * @param siteCode
   * @return
   * EquipmentCycleTime
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  EquipmentCycleTime getEquipmentCycleTime(@Param("equipmentCode") String equipmentCode,
      @Param("siteCode") String siteCode);

  /**
   * <strong>Title : selectAllEquipmentCycleTimeList<br></strong>
   * <strong>Description : </strong>不分页查询设备周期表中不存在的所有设备<br> 
   * <strong>Create on : 2015年11月20日 下午3:44:40<br></strong>
   * <p>
   * @param condition
   * @return
   * List<EquipmentCycleTime>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Equipment> selectAllEquipmentList(EquipmentCondition condition);

  /**
   * 
   * <strong>Title : selectAllEquipmentListForSuggest<br></strong>
   * <strong>Description : </strong>不分页查询设备周期表中不存在的所有设备(搜索建议)<br> 
   * <strong>Create on : 2016年4月11日 下午7:38:38<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Equipment>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Equipment> selectAllEquipmentListForSuggest(EquipmentCondition condition);

}
